<?php

namespace tmcore\traits;

use think\facade\Db;

trait ErrorTrait
{
    private static $errorMsg;
    private static $errorCode;

    /**
     * 设置错误信息
     * @param string $errorMsg
     * @param int $errorCode
     * @param bool $rollback
     * @return bool
     */
    public static function setError($errorMsg = '操作失败,请稍候再试!', $errorCode = 1000, $rollback = false)
    {
        if ($rollback) Db::rollback();
        self::$errorMsg = $errorMsg;
        self::$errorCode = $errorCode;
        return false;
    }

    /**
     * 获取错误信息
     * @param string $defaultMsg
     * @return string
     */
    public static function getError($defaultMsg = '操作失败,请稍候再试!')
    {
        return !empty(self::$errorMsg) ? self::$errorMsg : $defaultMsg;
    }

    /**
     * 获取错误号
     * @param string $defaultCode
     * @return string
     */
    public static function getErrorCode($defaultCode = 1000)
    {
        return !empty(self::$errorCode) ? self::$errorCode : $defaultCode;
    }
}